#ifndef _GmSSLServantImp_H_
#define _GmSSLServantImp_H_

#include "servant/Application.h"
#include "GmSSLServant.h"

/**
 *
 *
 */
class GmSSLServantImp : public GmSSL::GmSSLServant
{
public:
	/**
	 *
	 */
	virtual ~GmSSLServantImp() {}

	/**
	 *
	 */
	virtual void initialize();

	/**
	 *
	 */
    virtual void destroy();

	/**
	 *
	 */
	virtual int test(taf::JceCurrentPtr current) { return 0;};

	virtual taf::Int32 tg_gen_sm2_key(std::string &pub_key,std::string &pri_key,taf::JceCurrentPtr current);

	virtual taf::Int32 tg_sm2_sign(const std::string & pri_key,const std::string & plain_text,const std::string & id,std::string &sign_ret,taf::JceCurrentPtr current);

	virtual taf::Int32 tg_sm2_verify(const std::string & pub_key,const std::string & origin_plain,const std::string & sig,const std::string & id,taf::Int32 &verify_ret,taf::JceCurrentPtr current);
};
/////////////////////////////////////////////////////
#endif
